package com.he.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.he.domain.dto.*;
import com.he.domain.vo.CommonLinkVO;
import com.he.domain.vo.LinkBackVO;
import com.he.domain.vo.FriendLinkVO;
import com.he.entity.Link;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author He
 * @version 1.0
 * @Date 2023/9/15 14:47
 * @Desc 链接服务接口
 */
@Service
public interface LinkService extends IService<Link> {
    /**
     * 获取友链列表
     * @return
     */
    List<FriendLinkVO> getFriendLinkVOList();

    /**
     * 添加友链
     * @param friendLinkDTO
     */
    void addFriendLink(FriendLinkDTO friendLinkDTO);

    /**
     * 删除友链
     * @param id
     */
    void deleteFriendLink(Integer id);

    /**
     * 更新友链
     * @param friendLinkDTO
     */
    void updateFriendLink(FriendLinkDTO friendLinkDTO);

    /**
     * 获取快链列表
     * @return
     */
    List<CommonLinkVO> getQuickLinkList();

    /**
     * 获取技术栈链接列表
     * @return
     */
    List<CommonLinkVO> getTechniqueLinkList();

    /**
     * 添加普通链接
     *
     * @param commonLinkDTO
     */
    void addCommonLink(CommonLinkDTO commonLinkDTO);

    /**
     * 查询后台链接列表
     *
     * @param condition 条件
     */
    PageResult<LinkBackVO> getLinkBackVOList(ConditionDTO condition);

    /**
     * 添加链接
     *
     * @param linkDTO 链接
     */
    void addLink(LinkDTO linkDTO);

    /**
     * 更新链接
     *
     * @param linkDTO 链接
     */
    void updateLink(LinkDTO linkDTO);
}
